package com.yonglian.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonglian.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yonglian.common.annotation.Excel;

/**
 * 活动计划对象 cms_activity_plan
 * 
 * @author gyok
 * @date 2024-06-03
 */
public class CmsActivityPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 系统id */
    private Long id;

    /** 计划名称 */
    @Excel(name = "计划名称")
    private String planName;

    /** 目标开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "目标开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date targetStartDate;

    /** 目标完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "目标完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date targetCompleteDate;

    /** 实际开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualStartDate;

    /** 实际完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualCompleteDate;

    /** 活动id */
    @Excel(name = "活动id")
    private Long activityId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPlanName(String planName) 
    {
        this.planName = planName;
    }

    public String getPlanName() 
    {
        return planName;
    }
    public void setTargetStartDate(Date targetStartDate) 
    {
        this.targetStartDate = targetStartDate;
    }

    public Date getTargetStartDate() 
    {
        return targetStartDate;
    }
    public void setTargetCompleteDate(Date targetCompleteDate) 
    {
        this.targetCompleteDate = targetCompleteDate;
    }

    public Date getTargetCompleteDate() 
    {
        return targetCompleteDate;
    }
    public void setActualStartDate(Date actualStartDate) 
    {
        this.actualStartDate = actualStartDate;
    }

    public Date getActualStartDate() 
    {
        return actualStartDate;
    }
    public void setActualCompleteDate(Date actualCompleteDate) 
    {
        this.actualCompleteDate = actualCompleteDate;
    }

    public Date getActualCompleteDate() 
    {
        return actualCompleteDate;
    }
    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("planName", getPlanName())
            .append("targetStartDate", getTargetStartDate())
            .append("targetCompleteDate", getTargetCompleteDate())
            .append("actualStartDate", getActualStartDate())
            .append("actualCompleteDate", getActualCompleteDate())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("activityId", getActivityId())
            .toString();
    }
}
